/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.losalpes.persistence;

import com.losalpes.persistence.entity.Cliente;
import java.util.List;
import javax.ejb.Local;

/**
 *
 * @author Luis Fernando Martinez Moreno
 */
@Local
public interface IClientPersistenceServices {

    /**
     * Crea un cliente
     * @param cliente
     */
    void create(Cliente cliente);

    /**
     * Actualiza un cliente
     * @param cliente
     */
    void update(Cliente cliente);

    /**
     * Elimina un cliente
     * @param cliente
     * @return True o False resultado de la operación
     */
    boolean delete(Cliente cliente);

    /**
     * Retorna todos los clientes
     * @return Colección de clientes
     */
    List findAll();

    /**
     * Busca cliente por criterio
     * @param cliente
     * @return Colección de clientes que cumplen el criterio
     */
    List findClientByCriteria(Cliente cliente);

    /**
     * Busca cliente por identificador
     * @param idCliente Identificador del cliente
     * @return Cliente
     */
    Cliente findById(String idCliente);
    
}